package domain

import (
	"github.com/hlhutu/gormplus"
	"ruoyi-go/internal/framework/db"
)

type SysDictData struct {
	// 字典编码
	DictCode int64 `json:"dictCode" gorm:"column:dict_code" form:"dictCode"`
	// 字典排序
	DictSort int64 `json:"dictSort" gorm:"column:dict_sort" form:"dictSort"`
	// 字典标签
	DictLabel string `json:"dictLabel" gorm:"column:dict_label" form:"dictLabel"`
	// 字典键值
	DictValue string `json:"dictValue" gorm:"column:dict_value" form:"dictValue"`
	// 字典类型
	DictType string `json:"dictType" gorm:"column:dict_type" form:"dictType"`
	// 样式属性（其他样式扩展）
	CssClass string `json:"cssClass" gorm:"column:css_class" form:"cssClass"`
	// 表格字典样式
	ListClass string `json:"listClass" gorm:"column:list_class" form:"listClass"`
	// 是否默认（Y是 N否）
	IsDefault string `json:"isDefault" gorm:"column:is_default" form:"isDefault"`
	// 状态（0正常 1停用）
	Status string `json:"status" gorm:"column:status" form:"status"`
}

func (m SysDictData) TableName() string {
	return "sys_dict_data"
}

type sysDictDataModel struct {
	gormplus.Model[SysDictData]
}

var sysDictDataModelInst *sysDictDataModel

func SysDictDataModel() *sysDictDataModel {
	if sysDictDataModelInst == nil {
		sysDictDataModelInst = &sysDictDataModel{Model: gormplus.NewModel(SysDictData{}, db.GormDB)}
	}
	return sysDictDataModelInst
}
